The present invention relates generally to digital logic, and more particularly to circuits incorporating tri-state logic elements.
Conventional logic elements are binary, and respond to or detect two states, a logic high state ("H") and logic low state ("L"). A particular type of logic device, referred to as a tri-state device includes a signal input terminal, a signal output terminal, and an output enable terminal. The output enable is normally shown as active low. When the output enable is active, the output is the same as the input. When the output enable terminal is inactive, the output is in a floating state ("F").
FIG. 1 shows a prior art tri-state device 1 having a conventional device 2 coupled to the output terminal. The input signal level is designated X, the output enable level is designated E, the output of the tri-state device is designated Y, and the output of the conventional device is designated Y'. The circuit has the following truth table:
______________________________________ X E Y Y' ______________________________________ L L L L H L H H X* H F L or H ______________________________________
X* indicates that the relevant state may be "L" or "H". As can be seen, when E is low (output enabled), the signal at Y' follows the signal at Y, which follows the signal at X. When E is high (output not enabled), the signal at Y' is undetermined since the signal at Y is floating. Thus, it is not possible to determine whether the signal at Y is floating or has a particular value.
Tri-state gates are used for circuit isolation, or for such applications as a wire-OR or wire-AND circuit. FIG. 2 shows a wire-OR circuit 3 including first and second tri-state devices 4 and 5. The output terminals of the tri-state devices are tied to a circuit node O, which is pulled high through a pull-up resistor R. Node O represents the output terminal of the circuit. If either of the tri-state device's input is low, and if its output is enabled, the output at O will be pulled low. The floating state of a given one of the devices merely serves to isolate the device from the output terminal.